package com.qdu.bussiness.service;

import java.util.List;
import com.qdu.bussiness.domain.BusBill;
import com.qdu.common.core.domain.AjaxResult;

/**
 * 账单信息Service接口
 * 
 * @author qdu
 * @date 2022-03-09
 */
public interface IBusBillService 
{
    /**
     * 查询账单信息
     * 
     * @param billId 账单信息主键
     * @return 账单信息
     */
    public BusBill selectBusBillByBillId(Long billId);

    /**
     * 查询账单信息列表
     * 
     * @param busBill 账单信息
     * @return 账单信息集合
     */
    public List<BusBill> selectBusBillList(BusBill busBill);

    /**
     * 新增账单信息
     * 
     * @param busBill 账单信息
     * @return 结果
     */
    public int insertBusBill(BusBill busBill);

    /**
     * 修改账单信息
     * 
     * @param busBill 账单信息
     * @return 结果
     */
    public int updateBusBill(BusBill busBill);

    /**
     * 批量删除账单信息
     * 
     * @param billIds 需要删除的账单信息主键集合
     * @return 结果
     */
    public int deleteBusBillByBillIds(Long[] billIds);

    /**
     * 删除账单信息信息
     * 
     * @param billId 账单信息主键
     * @return 结果
     */
    public int deleteBusBillByBillId(Long billId);

    /**
     * 查询账单详情
     * @param billId
     * @return
     */
    AjaxResult getBillDetails(Long billId);

    /**
     * 查询某人当前的账单情况
     * @param userName
     * @return
     */
    BusBill getUserTodayBillInfo(String userName);

    /**
     * 结算账单
     * @param billId
     * @return
     */
    AjaxResult settleBill(Long billId);
}
